feat(cli): launch OpenClaw through Relay#370
Conversation
Signed-off-by: Bryan Bednarski <bbednarski@nvidia.com>
willkill07
left a comment
There was a problem hiding this comment.
I know it's still in draft, but I wanted to make a couple of notes
| ClaudeCode, | ||
| Codex, | ||
| Hermes, | ||
| Openclaw, |
| "OpenClaw hook and tool telemetry is provided by the optional \ | ||
| nemo-relay-openclaw npm plugin, not the Relay hook-forward endpoint" | ||
| .into(), |
There was a problem hiding this comment.
Is there any way we could get this to work? Having a multi-step process is suboptimal.
I also don't understand how nemo-relay-openclaw intends to communicate with the CLI process. Without that communication, there is not a single source of truth.
| let legacy = home.join(".clawdbot").join("clawdbot.json"); | ||
| if legacy.exists() { | ||
| return Ok(legacy); | ||
| } |
There was a problem hiding this comment.
Seems unnecessary six months into 2026
| | Claude Code | Yes | Yes | Partial | Hook forwarding, pre-tool blocking, and gateway-routed LLM observability are supported. | | ||
| | Codex | Yes | Yes | Partial | Hook activation is required; missing session-end behavior limits trajectory finalization and full optimization coverage. | | ||
| | Hermes Agent | Yes | Yes | Partial | Hook forwarding, pre-tool blocking, and gateway-routed or hook-backed LLM observability are supported. | | ||
| | OpenClaw | Yes | Partial | Partial | Local or foreground API-key-backed Anthropic/OpenAI requests can be gateway-routed. Embedded hook/tool telemetry requires the separately installed OpenClaw plugin. | |
There was a problem hiding this comment.
The nemo-relay-openclaw plugin package is already limiting. Having two instances of Relay running is not ideal. We should consider a different integration method.
Signed-off-by: Bryan Bednarski <bbednarski@nvidia.com>
Signed-off-by: Bryan Bednarski <bbednarski@nvidia.com>
6e8bf6e to
3a4ef58
Compare
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Enterprise Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Signed-off-by: Bryan Bednarski <bbednarski@nvidia.com>
Signed-off-by: Bryan Bednarski <bbednarski@nvidia.com>
Signed-off-by: Bryan Bednarski <bbednarski@nvidia.com>
Signed-off-by: Bryan Bednarski <bbednarski@nvidia.com>
Signed-off-by: Bryan Bednarski <bbednarski@nvidia.com>
3a4ef58 to
0111d48
Compare
Signed-off-by: Bryan Bednarski <bbednarski@nvidia.com>
License DiffCompared against Lockfile license changesLockfile License ChangesRustAdded
Removed
Updated/Changed
NodeAdded
Removed
Updated/Changed
PythonAdded
Removed
Updated/Changed
Status output |
Signed-off-by: Bryan Bednarski <bbednarski@nvidia.com>
|
closing this out in favor of a formal design doc for this integration to avoid scope creep |
Overview
This adds OpenClaw as a first-class Relay CLI launcher target. The wrapper routes supported provider traffic through Relay's managed LLM gateway and injects a temporary hook bridge, without modifying the user's source configuration or starting a second Relay runtime.
Details
openclawto agent selection, command inference, setup detection, doctor output, and the easy-path CLI.OPENCLAW_CONFIG_PATH..clawdbotconfiguration fallback.Where should the reviewer start?
Start with
crates/cli/src/openclaw.rsfor provider/auth resolution and temporary bridge construction,crates/cli/src/adapters/openclaw.rsfor hook normalization, andcrates/cli/src/launcher.rsfor child-process shutdown and cleanup. Focused coverage is incrates/cli/tests/coverage/openclaw_tests.rs,adapters_tests.rs, andserver_tests.rs.Validation
cargo test -p nemo-relay-cli(689 unit and 50 integration tests passed)cargo clippy -p nemo-relay-cli --all-targets -- -D warnings2026.6.11smoke test:nemo-relay-cli-bridgewithoutnemo-relay-node;Stack
Related Issues: (use one of the action keywords Closes / Fixes / Resolves / Relates to)
Relates to #364 and #366.